Typically, application components such as graphical user interface (GUI) buttons, data grids, and non-visual components such as web services need to be “connected” together or bound by means of script or other programming language in an application. For example, a software programmer can write code such that when a user selects or presses a GUI button, this will cause information from a web service to be presented in a data grid. In order for this to happen, a button selection event needs to cause a request to be sent to the data service and, the subsequent information received from the data service needs to be placed into the data grid. Some development environments simplify the programming aspects of this process somewhat by restricting what types of objects (e.g., data sources) a particular component can be bound to. However, the process of connecting components to one another can still require user input explicitly specifying how components connect.